<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        window.onload = function(){
            var box = document.getElementsByClassName("box")[0];
            var btn1 = document.getElementById("btn1");
            var btn2 = document.getElementById("btn2");
            btn1.onclick = function(){
                // 更换样式
                box.className = "box1";
            }
            btn2.onclick = function(){
                // 添加样式
                addClass(box,"box2");
            }
            btn3.onclick = function(){
                // 移除样式
                removeClass(box, "box4");
            }
            btn4.onclick = function(){
                changeClass(box, "box1");
            }

            // 增加一个类
            function addClass(obj, cn){
                // 如果没有这个类，则添加
                if (!hasClass(obj,cn)){
                    obj.className += " "+cn;
                }

            }
            // 判断一个对象是否含有一个类,有则返回ture,反之
            function hasClass(obj, cn){
                var reg = new RegExp("\\b"+cn+"\\b");
                return reg.test(obj.className);
            } 

            // 移除一个类
            function removeClass(obj, cn){
                var reg = new RegExp("\\b"+cn+"\\b");
                obj.className = obj.className.replace(reg, " ");
            }

            // 切换类操作
            function changeClass (obj, cn){
                // 如果没有这个类，则添加
                if (!hasClass(obj,cn)){
                    obj.className += " "+cn;
                }
                // 有则删除
                else{
                    removeClass(obj, cn);
                }
            }
        }
    </script>
    <style>
        .box{
            width: 100px;
            height: 100px;
            background-color: orange;
        }
        .box1{
            width: 200px;
            height: 200px;
            background-color: yellow;
        }
        .box2{
            border: 5px solid red;
        }
    </style>
</head>
<body>
    <button id="btn1">更换样式</button>
    <button id="btn2">添加样式</button>
    <button id="btn3">移除样式</button>
    <button id="btn4">切换样式</button>
    <div class="box"></div>
</body>
</html>